package com.jiulong.model;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class TProductExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    private Integer limit;

    private Integer offset;

    public TProductExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    public void setLimit(Integer limit) {
        this.limit = limit;
    }

    public Integer getLimit() {
        return limit;
    }

    public void setOffset(Integer offset) {
        this.offset = offset;
    }

    public Integer getOffset() {
        return offset;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andNameIsNull() {
            addCriterion("name is null");
            return (Criteria) this;
        }

        public Criteria andNameIsNotNull() {
            addCriterion("name is not null");
            return (Criteria) this;
        }

        public Criteria andNameEqualTo(String value) {
            addCriterion("name =", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotEqualTo(String value) {
            addCriterion("name <>", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameGreaterThan(String value) {
            addCriterion("name >", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameGreaterThanOrEqualTo(String value) {
            addCriterion("name >=", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLessThan(String value) {
            addCriterion("name <", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLessThanOrEqualTo(String value) {
            addCriterion("name <=", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLike(String value) {
            addCriterion("name like", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotLike(String value) {
            addCriterion("name not like", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameIn(List<String> values) {
            addCriterion("name in", values, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotIn(List<String> values) {
            addCriterion("name not in", values, "name");
            return (Criteria) this;
        }

        public Criteria andNameBetween(String value1, String value2) {
            addCriterion("name between", value1, value2, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotBetween(String value1, String value2) {
            addCriterion("name not between", value1, value2, "name");
            return (Criteria) this;
        }

        public Criteria andIntroduceIsNull() {
            addCriterion("introduce is null");
            return (Criteria) this;
        }

        public Criteria andIntroduceIsNotNull() {
            addCriterion("introduce is not null");
            return (Criteria) this;
        }

        public Criteria andIntroduceEqualTo(String value) {
            addCriterion("introduce =", value, "introduce");
            return (Criteria) this;
        }

        public Criteria andIntroduceNotEqualTo(String value) {
            addCriterion("introduce <>", value, "introduce");
            return (Criteria) this;
        }

        public Criteria andIntroduceGreaterThan(String value) {
            addCriterion("introduce >", value, "introduce");
            return (Criteria) this;
        }

        public Criteria andIntroduceGreaterThanOrEqualTo(String value) {
            addCriterion("introduce >=", value, "introduce");
            return (Criteria) this;
        }

        public Criteria andIntroduceLessThan(String value) {
            addCriterion("introduce <", value, "introduce");
            return (Criteria) this;
        }

        public Criteria andIntroduceLessThanOrEqualTo(String value) {
            addCriterion("introduce <=", value, "introduce");
            return (Criteria) this;
        }

        public Criteria andIntroduceLike(String value) {
            addCriterion("introduce like", value, "introduce");
            return (Criteria) this;
        }

        public Criteria andIntroduceNotLike(String value) {
            addCriterion("introduce not like", value, "introduce");
            return (Criteria) this;
        }

        public Criteria andIntroduceIn(List<String> values) {
            addCriterion("introduce in", values, "introduce");
            return (Criteria) this;
        }

        public Criteria andIntroduceNotIn(List<String> values) {
            addCriterion("introduce not in", values, "introduce");
            return (Criteria) this;
        }

        public Criteria andIntroduceBetween(String value1, String value2) {
            addCriterion("introduce between", value1, value2, "introduce");
            return (Criteria) this;
        }

        public Criteria andIntroduceNotBetween(String value1, String value2) {
            addCriterion("introduce not between", value1, value2, "introduce");
            return (Criteria) this;
        }

        public Criteria andPriceIsNull() {
            addCriterion("price is null");
            return (Criteria) this;
        }

        public Criteria andPriceIsNotNull() {
            addCriterion("price is not null");
            return (Criteria) this;
        }

        public Criteria andPriceEqualTo(BigDecimal value) {
            addCriterion("price =", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceNotEqualTo(BigDecimal value) {
            addCriterion("price <>", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceGreaterThan(BigDecimal value) {
            addCriterion("price >", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("price >=", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceLessThan(BigDecimal value) {
            addCriterion("price <", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceLessThanOrEqualTo(BigDecimal value) {
            addCriterion("price <=", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceIn(List<BigDecimal> values) {
            addCriterion("price in", values, "price");
            return (Criteria) this;
        }

        public Criteria andPriceNotIn(List<BigDecimal> values) {
            addCriterion("price not in", values, "price");
            return (Criteria) this;
        }

        public Criteria andPriceBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("price between", value1, value2, "price");
            return (Criteria) this;
        }

        public Criteria andPriceNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("price not between", value1, value2, "price");
            return (Criteria) this;
        }

        public Criteria andNowpriceIsNull() {
            addCriterion("nowPrice is null");
            return (Criteria) this;
        }

        public Criteria andNowpriceIsNotNull() {
            addCriterion("nowPrice is not null");
            return (Criteria) this;
        }

        public Criteria andNowpriceEqualTo(BigDecimal value) {
            addCriterion("nowPrice =", value, "nowprice");
            return (Criteria) this;
        }

        public Criteria andNowpriceNotEqualTo(BigDecimal value) {
            addCriterion("nowPrice <>", value, "nowprice");
            return (Criteria) this;
        }

        public Criteria andNowpriceGreaterThan(BigDecimal value) {
            addCriterion("nowPrice >", value, "nowprice");
            return (Criteria) this;
        }

        public Criteria andNowpriceGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("nowPrice >=", value, "nowprice");
            return (Criteria) this;
        }

        public Criteria andNowpriceLessThan(BigDecimal value) {
            addCriterion("nowPrice <", value, "nowprice");
            return (Criteria) this;
        }

        public Criteria andNowpriceLessThanOrEqualTo(BigDecimal value) {
            addCriterion("nowPrice <=", value, "nowprice");
            return (Criteria) this;
        }

        public Criteria andNowpriceIn(List<BigDecimal> values) {
            addCriterion("nowPrice in", values, "nowprice");
            return (Criteria) this;
        }

        public Criteria andNowpriceNotIn(List<BigDecimal> values) {
            addCriterion("nowPrice not in", values, "nowprice");
            return (Criteria) this;
        }

        public Criteria andNowpriceBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("nowPrice between", value1, value2, "nowprice");
            return (Criteria) this;
        }

        public Criteria andNowpriceNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("nowPrice not between", value1, value2, "nowprice");
            return (Criteria) this;
        }

        public Criteria andPictureIsNull() {
            addCriterion("picture is null");
            return (Criteria) this;
        }

        public Criteria andPictureIsNotNull() {
            addCriterion("picture is not null");
            return (Criteria) this;
        }

        public Criteria andPictureEqualTo(String value) {
            addCriterion("picture =", value, "picture");
            return (Criteria) this;
        }

        public Criteria andPictureNotEqualTo(String value) {
            addCriterion("picture <>", value, "picture");
            return (Criteria) this;
        }

        public Criteria andPictureGreaterThan(String value) {
            addCriterion("picture >", value, "picture");
            return (Criteria) this;
        }

        public Criteria andPictureGreaterThanOrEqualTo(String value) {
            addCriterion("picture >=", value, "picture");
            return (Criteria) this;
        }

        public Criteria andPictureLessThan(String value) {
            addCriterion("picture <", value, "picture");
            return (Criteria) this;
        }

        public Criteria andPictureLessThanOrEqualTo(String value) {
            addCriterion("picture <=", value, "picture");
            return (Criteria) this;
        }

        public Criteria andPictureLike(String value) {
            addCriterion("picture like", value, "picture");
            return (Criteria) this;
        }

        public Criteria andPictureNotLike(String value) {
            addCriterion("picture not like", value, "picture");
            return (Criteria) this;
        }

        public Criteria andPictureIn(List<String> values) {
            addCriterion("picture in", values, "picture");
            return (Criteria) this;
        }

        public Criteria andPictureNotIn(List<String> values) {
            addCriterion("picture not in", values, "picture");
            return (Criteria) this;
        }

        public Criteria andPictureBetween(String value1, String value2) {
            addCriterion("picture between", value1, value2, "picture");
            return (Criteria) this;
        }

        public Criteria andPictureNotBetween(String value1, String value2) {
            addCriterion("picture not between", value1, value2, "picture");
            return (Criteria) this;
        }

        public Criteria andCreatetimeIsNull() {
            addCriterion("createtime is null");
            return (Criteria) this;
        }

        public Criteria andCreatetimeIsNotNull() {
            addCriterion("createtime is not null");
            return (Criteria) this;
        }

        public Criteria andCreatetimeEqualTo(Date value) {
            addCriterion("createtime =", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeNotEqualTo(Date value) {
            addCriterion("createtime <>", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeGreaterThan(Date value) {
            addCriterion("createtime >", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeGreaterThanOrEqualTo(Date value) {
            addCriterion("createtime >=", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeLessThan(Date value) {
            addCriterion("createtime <", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeLessThanOrEqualTo(Date value) {
            addCriterion("createtime <=", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeIn(List<Date> values) {
            addCriterion("createtime in", values, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeNotIn(List<Date> values) {
            addCriterion("createtime not in", values, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeBetween(Date value1, Date value2) {
            addCriterion("createtime between", value1, value2, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeNotBetween(Date value1, Date value2) {
            addCriterion("createtime not between", value1, value2, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreateaccountIsNull() {
            addCriterion("createAccount is null");
            return (Criteria) this;
        }

        public Criteria andCreateaccountIsNotNull() {
            addCriterion("createAccount is not null");
            return (Criteria) this;
        }

        public Criteria andCreateaccountEqualTo(String value) {
            addCriterion("createAccount =", value, "createaccount");
            return (Criteria) this;
        }

        public Criteria andCreateaccountNotEqualTo(String value) {
            addCriterion("createAccount <>", value, "createaccount");
            return (Criteria) this;
        }

        public Criteria andCreateaccountGreaterThan(String value) {
            addCriterion("createAccount >", value, "createaccount");
            return (Criteria) this;
        }

        public Criteria andCreateaccountGreaterThanOrEqualTo(String value) {
            addCriterion("createAccount >=", value, "createaccount");
            return (Criteria) this;
        }

        public Criteria andCreateaccountLessThan(String value) {
            addCriterion("createAccount <", value, "createaccount");
            return (Criteria) this;
        }

        public Criteria andCreateaccountLessThanOrEqualTo(String value) {
            addCriterion("createAccount <=", value, "createaccount");
            return (Criteria) this;
        }

        public Criteria andCreateaccountLike(String value) {
            addCriterion("createAccount like", value, "createaccount");
            return (Criteria) this;
        }

        public Criteria andCreateaccountNotLike(String value) {
            addCriterion("createAccount not like", value, "createaccount");
            return (Criteria) this;
        }

        public Criteria andCreateaccountIn(List<String> values) {
            addCriterion("createAccount in", values, "createaccount");
            return (Criteria) this;
        }

        public Criteria andCreateaccountNotIn(List<String> values) {
            addCriterion("createAccount not in", values, "createaccount");
            return (Criteria) this;
        }

        public Criteria andCreateaccountBetween(String value1, String value2) {
            addCriterion("createAccount between", value1, value2, "createaccount");
            return (Criteria) this;
        }

        public Criteria andCreateaccountNotBetween(String value1, String value2) {
            addCriterion("createAccount not between", value1, value2, "createaccount");
            return (Criteria) this;
        }

        public Criteria andUpdateaccountIsNull() {
            addCriterion("updateAccount is null");
            return (Criteria) this;
        }

        public Criteria andUpdateaccountIsNotNull() {
            addCriterion("updateAccount is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateaccountEqualTo(String value) {
            addCriterion("updateAccount =", value, "updateaccount");
            return (Criteria) this;
        }

        public Criteria andUpdateaccountNotEqualTo(String value) {
            addCriterion("updateAccount <>", value, "updateaccount");
            return (Criteria) this;
        }

        public Criteria andUpdateaccountGreaterThan(String value) {
            addCriterion("updateAccount >", value, "updateaccount");
            return (Criteria) this;
        }

        public Criteria andUpdateaccountGreaterThanOrEqualTo(String value) {
            addCriterion("updateAccount >=", value, "updateaccount");
            return (Criteria) this;
        }

        public Criteria andUpdateaccountLessThan(String value) {
            addCriterion("updateAccount <", value, "updateaccount");
            return (Criteria) this;
        }

        public Criteria andUpdateaccountLessThanOrEqualTo(String value) {
            addCriterion("updateAccount <=", value, "updateaccount");
            return (Criteria) this;
        }

        public Criteria andUpdateaccountLike(String value) {
            addCriterion("updateAccount like", value, "updateaccount");
            return (Criteria) this;
        }

        public Criteria andUpdateaccountNotLike(String value) {
            addCriterion("updateAccount not like", value, "updateaccount");
            return (Criteria) this;
        }

        public Criteria andUpdateaccountIn(List<String> values) {
            addCriterion("updateAccount in", values, "updateaccount");
            return (Criteria) this;
        }

        public Criteria andUpdateaccountNotIn(List<String> values) {
            addCriterion("updateAccount not in", values, "updateaccount");
            return (Criteria) this;
        }

        public Criteria andUpdateaccountBetween(String value1, String value2) {
            addCriterion("updateAccount between", value1, value2, "updateaccount");
            return (Criteria) this;
        }

        public Criteria andUpdateaccountNotBetween(String value1, String value2) {
            addCriterion("updateAccount not between", value1, value2, "updateaccount");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeIsNull() {
            addCriterion("updatetime is null");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeIsNotNull() {
            addCriterion("updatetime is not null");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeEqualTo(Date value) {
            addCriterion("updatetime =", value, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeNotEqualTo(Date value) {
            addCriterion("updatetime <>", value, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeGreaterThan(Date value) {
            addCriterion("updatetime >", value, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeGreaterThanOrEqualTo(Date value) {
            addCriterion("updatetime >=", value, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeLessThan(Date value) {
            addCriterion("updatetime <", value, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeLessThanOrEqualTo(Date value) {
            addCriterion("updatetime <=", value, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeIn(List<Date> values) {
            addCriterion("updatetime in", values, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeNotIn(List<Date> values) {
            addCriterion("updatetime not in", values, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeBetween(Date value1, Date value2) {
            addCriterion("updatetime between", value1, value2, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeNotBetween(Date value1, Date value2) {
            addCriterion("updatetime not between", value1, value2, "updatetime");
            return (Criteria) this;
        }

        public Criteria andIsnewIsNull() {
            addCriterion("isnew is null");
            return (Criteria) this;
        }

        public Criteria andIsnewIsNotNull() {
            addCriterion("isnew is not null");
            return (Criteria) this;
        }

        public Criteria andIsnewEqualTo(String value) {
            addCriterion("isnew =", value, "isnew");
            return (Criteria) this;
        }

        public Criteria andIsnewNotEqualTo(String value) {
            addCriterion("isnew <>", value, "isnew");
            return (Criteria) this;
        }

        public Criteria andIsnewGreaterThan(String value) {
            addCriterion("isnew >", value, "isnew");
            return (Criteria) this;
        }

        public Criteria andIsnewGreaterThanOrEqualTo(String value) {
            addCriterion("isnew >=", value, "isnew");
            return (Criteria) this;
        }

        public Criteria andIsnewLessThan(String value) {
            addCriterion("isnew <", value, "isnew");
            return (Criteria) this;
        }

        public Criteria andIsnewLessThanOrEqualTo(String value) {
            addCriterion("isnew <=", value, "isnew");
            return (Criteria) this;
        }

        public Criteria andIsnewLike(String value) {
            addCriterion("isnew like", value, "isnew");
            return (Criteria) this;
        }

        public Criteria andIsnewNotLike(String value) {
            addCriterion("isnew not like", value, "isnew");
            return (Criteria) this;
        }

        public Criteria andIsnewIn(List<String> values) {
            addCriterion("isnew in", values, "isnew");
            return (Criteria) this;
        }

        public Criteria andIsnewNotIn(List<String> values) {
            addCriterion("isnew not in", values, "isnew");
            return (Criteria) this;
        }

        public Criteria andIsnewBetween(String value1, String value2) {
            addCriterion("isnew between", value1, value2, "isnew");
            return (Criteria) this;
        }

        public Criteria andIsnewNotBetween(String value1, String value2) {
            addCriterion("isnew not between", value1, value2, "isnew");
            return (Criteria) this;
        }

        public Criteria andSaleIsNull() {
            addCriterion("sale is null");
            return (Criteria) this;
        }

        public Criteria andSaleIsNotNull() {
            addCriterion("sale is not null");
            return (Criteria) this;
        }

        public Criteria andSaleEqualTo(String value) {
            addCriterion("sale =", value, "sale");
            return (Criteria) this;
        }

        public Criteria andSaleNotEqualTo(String value) {
            addCriterion("sale <>", value, "sale");
            return (Criteria) this;
        }

        public Criteria andSaleGreaterThan(String value) {
            addCriterion("sale >", value, "sale");
            return (Criteria) this;
        }

        public Criteria andSaleGreaterThanOrEqualTo(String value) {
            addCriterion("sale >=", value, "sale");
            return (Criteria) this;
        }

        public Criteria andSaleLessThan(String value) {
            addCriterion("sale <", value, "sale");
            return (Criteria) this;
        }

        public Criteria andSaleLessThanOrEqualTo(String value) {
            addCriterion("sale <=", value, "sale");
            return (Criteria) this;
        }

        public Criteria andSaleLike(String value) {
            addCriterion("sale like", value, "sale");
            return (Criteria) this;
        }

        public Criteria andSaleNotLike(String value) {
            addCriterion("sale not like", value, "sale");
            return (Criteria) this;
        }

        public Criteria andSaleIn(List<String> values) {
            addCriterion("sale in", values, "sale");
            return (Criteria) this;
        }

        public Criteria andSaleNotIn(List<String> values) {
            addCriterion("sale not in", values, "sale");
            return (Criteria) this;
        }

        public Criteria andSaleBetween(String value1, String value2) {
            addCriterion("sale between", value1, value2, "sale");
            return (Criteria) this;
        }

        public Criteria andSaleNotBetween(String value1, String value2) {
            addCriterion("sale not between", value1, value2, "sale");
            return (Criteria) this;
        }

        public Criteria andHitIsNull() {
            addCriterion("hit is null");
            return (Criteria) this;
        }

        public Criteria andHitIsNotNull() {
            addCriterion("hit is not null");
            return (Criteria) this;
        }

        public Criteria andHitEqualTo(Integer value) {
            addCriterion("hit =", value, "hit");
            return (Criteria) this;
        }

        public Criteria andHitNotEqualTo(Integer value) {
            addCriterion("hit <>", value, "hit");
            return (Criteria) this;
        }

        public Criteria andHitGreaterThan(Integer value) {
            addCriterion("hit >", value, "hit");
            return (Criteria) this;
        }

        public Criteria andHitGreaterThanOrEqualTo(Integer value) {
            addCriterion("hit >=", value, "hit");
            return (Criteria) this;
        }

        public Criteria andHitLessThan(Integer value) {
            addCriterion("hit <", value, "hit");
            return (Criteria) this;
        }

        public Criteria andHitLessThanOrEqualTo(Integer value) {
            addCriterion("hit <=", value, "hit");
            return (Criteria) this;
        }

        public Criteria andHitIn(List<Integer> values) {
            addCriterion("hit in", values, "hit");
            return (Criteria) this;
        }

        public Criteria andHitNotIn(List<Integer> values) {
            addCriterion("hit not in", values, "hit");
            return (Criteria) this;
        }

        public Criteria andHitBetween(Integer value1, Integer value2) {
            addCriterion("hit between", value1, value2, "hit");
            return (Criteria) this;
        }

        public Criteria andHitNotBetween(Integer value1, Integer value2) {
            addCriterion("hit not between", value1, value2, "hit");
            return (Criteria) this;
        }

        public Criteria andStatusIsNull() {
            addCriterion("status is null");
            return (Criteria) this;
        }

        public Criteria andStatusIsNotNull() {
            addCriterion("status is not null");
            return (Criteria) this;
        }

        public Criteria andStatusEqualTo(Integer value) {
            addCriterion("status =", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotEqualTo(Integer value) {
            addCriterion("status <>", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThan(Integer value) {
            addCriterion("status >", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("status >=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThan(Integer value) {
            addCriterion("status <", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThanOrEqualTo(Integer value) {
            addCriterion("status <=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusIn(List<Integer> values) {
            addCriterion("status in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotIn(List<Integer> values) {
            addCriterion("status not in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusBetween(Integer value1, Integer value2) {
            addCriterion("status between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotBetween(Integer value1, Integer value2) {
            addCriterion("status not between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andMaxpictureIsNull() {
            addCriterion("maxPicture is null");
            return (Criteria) this;
        }

        public Criteria andMaxpictureIsNotNull() {
            addCriterion("maxPicture is not null");
            return (Criteria) this;
        }

        public Criteria andMaxpictureEqualTo(String value) {
            addCriterion("maxPicture =", value, "maxpicture");
            return (Criteria) this;
        }

        public Criteria andMaxpictureNotEqualTo(String value) {
            addCriterion("maxPicture <>", value, "maxpicture");
            return (Criteria) this;
        }

        public Criteria andMaxpictureGreaterThan(String value) {
            addCriterion("maxPicture >", value, "maxpicture");
            return (Criteria) this;
        }

        public Criteria andMaxpictureGreaterThanOrEqualTo(String value) {
            addCriterion("maxPicture >=", value, "maxpicture");
            return (Criteria) this;
        }

        public Criteria andMaxpictureLessThan(String value) {
            addCriterion("maxPicture <", value, "maxpicture");
            return (Criteria) this;
        }

        public Criteria andMaxpictureLessThanOrEqualTo(String value) {
            addCriterion("maxPicture <=", value, "maxpicture");
            return (Criteria) this;
        }

        public Criteria andMaxpictureLike(String value) {
            addCriterion("maxPicture like", value, "maxpicture");
            return (Criteria) this;
        }

        public Criteria andMaxpictureNotLike(String value) {
            addCriterion("maxPicture not like", value, "maxpicture");
            return (Criteria) this;
        }

        public Criteria andMaxpictureIn(List<String> values) {
            addCriterion("maxPicture in", values, "maxpicture");
            return (Criteria) this;
        }

        public Criteria andMaxpictureNotIn(List<String> values) {
            addCriterion("maxPicture not in", values, "maxpicture");
            return (Criteria) this;
        }

        public Criteria andMaxpictureBetween(String value1, String value2) {
            addCriterion("maxPicture between", value1, value2, "maxpicture");
            return (Criteria) this;
        }

        public Criteria andMaxpictureNotBetween(String value1, String value2) {
            addCriterion("maxPicture not between", value1, value2, "maxpicture");
            return (Criteria) this;
        }

        public Criteria andImagesIsNull() {
            addCriterion("images is null");
            return (Criteria) this;
        }

        public Criteria andImagesIsNotNull() {
            addCriterion("images is not null");
            return (Criteria) this;
        }

        public Criteria andImagesEqualTo(String value) {
            addCriterion("images =", value, "images");
            return (Criteria) this;
        }

        public Criteria andImagesNotEqualTo(String value) {
            addCriterion("images <>", value, "images");
            return (Criteria) this;
        }

        public Criteria andImagesGreaterThan(String value) {
            addCriterion("images >", value, "images");
            return (Criteria) this;
        }

        public Criteria andImagesGreaterThanOrEqualTo(String value) {
            addCriterion("images >=", value, "images");
            return (Criteria) this;
        }

        public Criteria andImagesLessThan(String value) {
            addCriterion("images <", value, "images");
            return (Criteria) this;
        }

        public Criteria andImagesLessThanOrEqualTo(String value) {
            addCriterion("images <=", value, "images");
            return (Criteria) this;
        }

        public Criteria andImagesLike(String value) {
            addCriterion("images like", value, "images");
            return (Criteria) this;
        }

        public Criteria andImagesNotLike(String value) {
            addCriterion("images not like", value, "images");
            return (Criteria) this;
        }

        public Criteria andImagesIn(List<String> values) {
            addCriterion("images in", values, "images");
            return (Criteria) this;
        }

        public Criteria andImagesNotIn(List<String> values) {
            addCriterion("images not in", values, "images");
            return (Criteria) this;
        }

        public Criteria andImagesBetween(String value1, String value2) {
            addCriterion("images between", value1, value2, "images");
            return (Criteria) this;
        }

        public Criteria andImagesNotBetween(String value1, String value2) {
            addCriterion("images not between", value1, value2, "images");
            return (Criteria) this;
        }

        public Criteria andCatalogidIsNull() {
            addCriterion("catalogID is null");
            return (Criteria) this;
        }

        public Criteria andCatalogidIsNotNull() {
            addCriterion("catalogID is not null");
            return (Criteria) this;
        }

        public Criteria andCatalogidEqualTo(String value) {
            addCriterion("catalogID =", value, "catalogid");
            return (Criteria) this;
        }

        public Criteria andCatalogidNotEqualTo(String value) {
            addCriterion("catalogID <>", value, "catalogid");
            return (Criteria) this;
        }

        public Criteria andCatalogidGreaterThan(String value) {
            addCriterion("catalogID >", value, "catalogid");
            return (Criteria) this;
        }

        public Criteria andCatalogidGreaterThanOrEqualTo(String value) {
            addCriterion("catalogID >=", value, "catalogid");
            return (Criteria) this;
        }

        public Criteria andCatalogidLessThan(String value) {
            addCriterion("catalogID <", value, "catalogid");
            return (Criteria) this;
        }

        public Criteria andCatalogidLessThanOrEqualTo(String value) {
            addCriterion("catalogID <=", value, "catalogid");
            return (Criteria) this;
        }

        public Criteria andCatalogidLike(String value) {
            addCriterion("catalogID like", value, "catalogid");
            return (Criteria) this;
        }

        public Criteria andCatalogidNotLike(String value) {
            addCriterion("catalogID not like", value, "catalogid");
            return (Criteria) this;
        }

        public Criteria andCatalogidIn(List<String> values) {
            addCriterion("catalogID in", values, "catalogid");
            return (Criteria) this;
        }

        public Criteria andCatalogidNotIn(List<String> values) {
            addCriterion("catalogID not in", values, "catalogid");
            return (Criteria) this;
        }

        public Criteria andCatalogidBetween(String value1, String value2) {
            addCriterion("catalogID between", value1, value2, "catalogid");
            return (Criteria) this;
        }

        public Criteria andCatalogidNotBetween(String value1, String value2) {
            addCriterion("catalogID not between", value1, value2, "catalogid");
            return (Criteria) this;
        }

        public Criteria andSellcountIsNull() {
            addCriterion("sellcount is null");
            return (Criteria) this;
        }

        public Criteria andSellcountIsNotNull() {
            addCriterion("sellcount is not null");
            return (Criteria) this;
        }

        public Criteria andSellcountEqualTo(Integer value) {
            addCriterion("sellcount =", value, "sellcount");
            return (Criteria) this;
        }

        public Criteria andSellcountNotEqualTo(Integer value) {
            addCriterion("sellcount <>", value, "sellcount");
            return (Criteria) this;
        }

        public Criteria andSellcountGreaterThan(Integer value) {
            addCriterion("sellcount >", value, "sellcount");
            return (Criteria) this;
        }

        public Criteria andSellcountGreaterThanOrEqualTo(Integer value) {
            addCriterion("sellcount >=", value, "sellcount");
            return (Criteria) this;
        }

        public Criteria andSellcountLessThan(Integer value) {
            addCriterion("sellcount <", value, "sellcount");
            return (Criteria) this;
        }

        public Criteria andSellcountLessThanOrEqualTo(Integer value) {
            addCriterion("sellcount <=", value, "sellcount");
            return (Criteria) this;
        }

        public Criteria andSellcountIn(List<Integer> values) {
            addCriterion("sellcount in", values, "sellcount");
            return (Criteria) this;
        }

        public Criteria andSellcountNotIn(List<Integer> values) {
            addCriterion("sellcount not in", values, "sellcount");
            return (Criteria) this;
        }

        public Criteria andSellcountBetween(Integer value1, Integer value2) {
            addCriterion("sellcount between", value1, value2, "sellcount");
            return (Criteria) this;
        }

        public Criteria andSellcountNotBetween(Integer value1, Integer value2) {
            addCriterion("sellcount not between", value1, value2, "sellcount");
            return (Criteria) this;
        }

        public Criteria andStockIsNull() {
            addCriterion("stock is null");
            return (Criteria) this;
        }

        public Criteria andStockIsNotNull() {
            addCriterion("stock is not null");
            return (Criteria) this;
        }

        public Criteria andStockEqualTo(Integer value) {
            addCriterion("stock =", value, "stock");
            return (Criteria) this;
        }

        public Criteria andStockNotEqualTo(Integer value) {
            addCriterion("stock <>", value, "stock");
            return (Criteria) this;
        }

        public Criteria andStockGreaterThan(Integer value) {
            addCriterion("stock >", value, "stock");
            return (Criteria) this;
        }

        public Criteria andStockGreaterThanOrEqualTo(Integer value) {
            addCriterion("stock >=", value, "stock");
            return (Criteria) this;
        }

        public Criteria andStockLessThan(Integer value) {
            addCriterion("stock <", value, "stock");
            return (Criteria) this;
        }

        public Criteria andStockLessThanOrEqualTo(Integer value) {
            addCriterion("stock <=", value, "stock");
            return (Criteria) this;
        }

        public Criteria andStockIn(List<Integer> values) {
            addCriterion("stock in", values, "stock");
            return (Criteria) this;
        }

        public Criteria andStockNotIn(List<Integer> values) {
            addCriterion("stock not in", values, "stock");
            return (Criteria) this;
        }

        public Criteria andStockBetween(Integer value1, Integer value2) {
            addCriterion("stock between", value1, value2, "stock");
            return (Criteria) this;
        }

        public Criteria andStockNotBetween(Integer value1, Integer value2) {
            addCriterion("stock not between", value1, value2, "stock");
            return (Criteria) this;
        }

        public Criteria andSearchkeyIsNull() {
            addCriterion("searchKey is null");
            return (Criteria) this;
        }

        public Criteria andSearchkeyIsNotNull() {
            addCriterion("searchKey is not null");
            return (Criteria) this;
        }

        public Criteria andSearchkeyEqualTo(String value) {
            addCriterion("searchKey =", value, "searchkey");
            return (Criteria) this;
        }

        public Criteria andSearchkeyNotEqualTo(String value) {
            addCriterion("searchKey <>", value, "searchkey");
            return (Criteria) this;
        }

        public Criteria andSearchkeyGreaterThan(String value) {
            addCriterion("searchKey >", value, "searchkey");
            return (Criteria) this;
        }

        public Criteria andSearchkeyGreaterThanOrEqualTo(String value) {
            addCriterion("searchKey >=", value, "searchkey");
            return (Criteria) this;
        }

        public Criteria andSearchkeyLessThan(String value) {
            addCriterion("searchKey <", value, "searchkey");
            return (Criteria) this;
        }

        public Criteria andSearchkeyLessThanOrEqualTo(String value) {
            addCriterion("searchKey <=", value, "searchkey");
            return (Criteria) this;
        }

        public Criteria andSearchkeyLike(String value) {
            addCriterion("searchKey like", value, "searchkey");
            return (Criteria) this;
        }

        public Criteria andSearchkeyNotLike(String value) {
            addCriterion("searchKey not like", value, "searchkey");
            return (Criteria) this;
        }

        public Criteria andSearchkeyIn(List<String> values) {
            addCriterion("searchKey in", values, "searchkey");
            return (Criteria) this;
        }

        public Criteria andSearchkeyNotIn(List<String> values) {
            addCriterion("searchKey not in", values, "searchkey");
            return (Criteria) this;
        }

        public Criteria andSearchkeyBetween(String value1, String value2) {
            addCriterion("searchKey between", value1, value2, "searchkey");
            return (Criteria) this;
        }

        public Criteria andSearchkeyNotBetween(String value1, String value2) {
            addCriterion("searchKey not between", value1, value2, "searchkey");
            return (Criteria) this;
        }

        public Criteria andTitleIsNull() {
            addCriterion("title is null");
            return (Criteria) this;
        }

        public Criteria andTitleIsNotNull() {
            addCriterion("title is not null");
            return (Criteria) this;
        }

        public Criteria andTitleEqualTo(String value) {
            addCriterion("title =", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleNotEqualTo(String value) {
            addCriterion("title <>", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleGreaterThan(String value) {
            addCriterion("title >", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleGreaterThanOrEqualTo(String value) {
            addCriterion("title >=", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleLessThan(String value) {
            addCriterion("title <", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleLessThanOrEqualTo(String value) {
            addCriterion("title <=", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleLike(String value) {
            addCriterion("title like", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleNotLike(String value) {
            addCriterion("title not like", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleIn(List<String> values) {
            addCriterion("title in", values, "title");
            return (Criteria) this;
        }

        public Criteria andTitleNotIn(List<String> values) {
            addCriterion("title not in", values, "title");
            return (Criteria) this;
        }

        public Criteria andTitleBetween(String value1, String value2) {
            addCriterion("title between", value1, value2, "title");
            return (Criteria) this;
        }

        public Criteria andTitleNotBetween(String value1, String value2) {
            addCriterion("title not between", value1, value2, "title");
            return (Criteria) this;
        }

        public Criteria andDescriptionIsNull() {
            addCriterion("description is null");
            return (Criteria) this;
        }

        public Criteria andDescriptionIsNotNull() {
            addCriterion("description is not null");
            return (Criteria) this;
        }

        public Criteria andDescriptionEqualTo(String value) {
            addCriterion("description =", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionNotEqualTo(String value) {
            addCriterion("description <>", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionGreaterThan(String value) {
            addCriterion("description >", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionGreaterThanOrEqualTo(String value) {
            addCriterion("description >=", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionLessThan(String value) {
            addCriterion("description <", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionLessThanOrEqualTo(String value) {
            addCriterion("description <=", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionLike(String value) {
            addCriterion("description like", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionNotLike(String value) {
            addCriterion("description not like", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionIn(List<String> values) {
            addCriterion("description in", values, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionNotIn(List<String> values) {
            addCriterion("description not in", values, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionBetween(String value1, String value2) {
            addCriterion("description between", value1, value2, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionNotBetween(String value1, String value2) {
            addCriterion("description not between", value1, value2, "description");
            return (Criteria) this;
        }

        public Criteria andKeywordsIsNull() {
            addCriterion("keywords is null");
            return (Criteria) this;
        }

        public Criteria andKeywordsIsNotNull() {
            addCriterion("keywords is not null");
            return (Criteria) this;
        }

        public Criteria andKeywordsEqualTo(String value) {
            addCriterion("keywords =", value, "keywords");
            return (Criteria) this;
        }

        public Criteria andKeywordsNotEqualTo(String value) {
            addCriterion("keywords <>", value, "keywords");
            return (Criteria) this;
        }

        public Criteria andKeywordsGreaterThan(String value) {
            addCriterion("keywords >", value, "keywords");
            return (Criteria) this;
        }

        public Criteria andKeywordsGreaterThanOrEqualTo(String value) {
            addCriterion("keywords >=", value, "keywords");
            return (Criteria) this;
        }

        public Criteria andKeywordsLessThan(String value) {
            addCriterion("keywords <", value, "keywords");
            return (Criteria) this;
        }

        public Criteria andKeywordsLessThanOrEqualTo(String value) {
            addCriterion("keywords <=", value, "keywords");
            return (Criteria) this;
        }

        public Criteria andKeywordsLike(String value) {
            addCriterion("keywords like", value, "keywords");
            return (Criteria) this;
        }

        public Criteria andKeywordsNotLike(String value) {
            addCriterion("keywords not like", value, "keywords");
            return (Criteria) this;
        }

        public Criteria andKeywordsIn(List<String> values) {
            addCriterion("keywords in", values, "keywords");
            return (Criteria) this;
        }

        public Criteria andKeywordsNotIn(List<String> values) {
            addCriterion("keywords not in", values, "keywords");
            return (Criteria) this;
        }

        public Criteria andKeywordsBetween(String value1, String value2) {
            addCriterion("keywords between", value1, value2, "keywords");
            return (Criteria) this;
        }

        public Criteria andKeywordsNotBetween(String value1, String value2) {
            addCriterion("keywords not between", value1, value2, "keywords");
            return (Criteria) this;
        }

        public Criteria andActivityidIsNull() {
            addCriterion("activityID is null");
            return (Criteria) this;
        }

        public Criteria andActivityidIsNotNull() {
            addCriterion("activityID is not null");
            return (Criteria) this;
        }

        public Criteria andActivityidEqualTo(String value) {
            addCriterion("activityID =", value, "activityid");
            return (Criteria) this;
        }

        public Criteria andActivityidNotEqualTo(String value) {
            addCriterion("activityID <>", value, "activityid");
            return (Criteria) this;
        }

        public Criteria andActivityidGreaterThan(String value) {
            addCriterion("activityID >", value, "activityid");
            return (Criteria) this;
        }

        public Criteria andActivityidGreaterThanOrEqualTo(String value) {
            addCriterion("activityID >=", value, "activityid");
            return (Criteria) this;
        }

        public Criteria andActivityidLessThan(String value) {
            addCriterion("activityID <", value, "activityid");
            return (Criteria) this;
        }

        public Criteria andActivityidLessThanOrEqualTo(String value) {
            addCriterion("activityID <=", value, "activityid");
            return (Criteria) this;
        }

        public Criteria andActivityidLike(String value) {
            addCriterion("activityID like", value, "activityid");
            return (Criteria) this;
        }

        public Criteria andActivityidNotLike(String value) {
            addCriterion("activityID not like", value, "activityid");
            return (Criteria) this;
        }

        public Criteria andActivityidIn(List<String> values) {
            addCriterion("activityID in", values, "activityid");
            return (Criteria) this;
        }

        public Criteria andActivityidNotIn(List<String> values) {
            addCriterion("activityID not in", values, "activityid");
            return (Criteria) this;
        }

        public Criteria andActivityidBetween(String value1, String value2) {
            addCriterion("activityID between", value1, value2, "activityid");
            return (Criteria) this;
        }

        public Criteria andActivityidNotBetween(String value1, String value2) {
            addCriterion("activityID not between", value1, value2, "activityid");
            return (Criteria) this;
        }

        public Criteria andUnitIsNull() {
            addCriterion("unit is null");
            return (Criteria) this;
        }

        public Criteria andUnitIsNotNull() {
            addCriterion("unit is not null");
            return (Criteria) this;
        }

        public Criteria andUnitEqualTo(String value) {
            addCriterion("unit =", value, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitNotEqualTo(String value) {
            addCriterion("unit <>", value, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitGreaterThan(String value) {
            addCriterion("unit >", value, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitGreaterThanOrEqualTo(String value) {
            addCriterion("unit >=", value, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitLessThan(String value) {
            addCriterion("unit <", value, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitLessThanOrEqualTo(String value) {
            addCriterion("unit <=", value, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitLike(String value) {
            addCriterion("unit like", value, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitNotLike(String value) {
            addCriterion("unit not like", value, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitIn(List<String> values) {
            addCriterion("unit in", values, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitNotIn(List<String> values) {
            addCriterion("unit not in", values, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitBetween(String value1, String value2) {
            addCriterion("unit between", value1, value2, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitNotBetween(String value1, String value2) {
            addCriterion("unit not between", value1, value2, "unit");
            return (Criteria) this;
        }

        public Criteria andScoreIsNull() {
            addCriterion("score is null");
            return (Criteria) this;
        }

        public Criteria andScoreIsNotNull() {
            addCriterion("score is not null");
            return (Criteria) this;
        }

        public Criteria andScoreEqualTo(Integer value) {
            addCriterion("score =", value, "score");
            return (Criteria) this;
        }

        public Criteria andScoreNotEqualTo(Integer value) {
            addCriterion("score <>", value, "score");
            return (Criteria) this;
        }

        public Criteria andScoreGreaterThan(Integer value) {
            addCriterion("score >", value, "score");
            return (Criteria) this;
        }

        public Criteria andScoreGreaterThanOrEqualTo(Integer value) {
            addCriterion("score >=", value, "score");
            return (Criteria) this;
        }

        public Criteria andScoreLessThan(Integer value) {
            addCriterion("score <", value, "score");
            return (Criteria) this;
        }

        public Criteria andScoreLessThanOrEqualTo(Integer value) {
            addCriterion("score <=", value, "score");
            return (Criteria) this;
        }

        public Criteria andScoreIn(List<Integer> values) {
            addCriterion("score in", values, "score");
            return (Criteria) this;
        }

        public Criteria andScoreNotIn(List<Integer> values) {
            addCriterion("score not in", values, "score");
            return (Criteria) this;
        }

        public Criteria andScoreBetween(Integer value1, Integer value2) {
            addCriterion("score between", value1, value2, "score");
            return (Criteria) this;
        }

        public Criteria andScoreNotBetween(Integer value1, Integer value2) {
            addCriterion("score not between", value1, value2, "score");
            return (Criteria) this;
        }

        public Criteria andIstimepromotionIsNull() {
            addCriterion("isTimePromotion is null");
            return (Criteria) this;
        }

        public Criteria andIstimepromotionIsNotNull() {
            addCriterion("isTimePromotion is not null");
            return (Criteria) this;
        }

        public Criteria andIstimepromotionEqualTo(String value) {
            addCriterion("isTimePromotion =", value, "istimepromotion");
            return (Criteria) this;
        }

        public Criteria andIstimepromotionNotEqualTo(String value) {
            addCriterion("isTimePromotion <>", value, "istimepromotion");
            return (Criteria) this;
        }

        public Criteria andIstimepromotionGreaterThan(String value) {
            addCriterion("isTimePromotion >", value, "istimepromotion");
            return (Criteria) this;
        }

        public Criteria andIstimepromotionGreaterThanOrEqualTo(String value) {
            addCriterion("isTimePromotion >=", value, "istimepromotion");
            return (Criteria) this;
        }

        public Criteria andIstimepromotionLessThan(String value) {
            addCriterion("isTimePromotion <", value, "istimepromotion");
            return (Criteria) this;
        }

        public Criteria andIstimepromotionLessThanOrEqualTo(String value) {
            addCriterion("isTimePromotion <=", value, "istimepromotion");
            return (Criteria) this;
        }

        public Criteria andIstimepromotionLike(String value) {
            addCriterion("isTimePromotion like", value, "istimepromotion");
            return (Criteria) this;
        }

        public Criteria andIstimepromotionNotLike(String value) {
            addCriterion("isTimePromotion not like", value, "istimepromotion");
            return (Criteria) this;
        }

        public Criteria andIstimepromotionIn(List<String> values) {
            addCriterion("isTimePromotion in", values, "istimepromotion");
            return (Criteria) this;
        }

        public Criteria andIstimepromotionNotIn(List<String> values) {
            addCriterion("isTimePromotion not in", values, "istimepromotion");
            return (Criteria) this;
        }

        public Criteria andIstimepromotionBetween(String value1, String value2) {
            addCriterion("isTimePromotion between", value1, value2, "istimepromotion");
            return (Criteria) this;
        }

        public Criteria andIstimepromotionNotBetween(String value1, String value2) {
            addCriterion("isTimePromotion not between", value1, value2, "istimepromotion");
            return (Criteria) this;
        }

        public Criteria andZaocanIsNull() {
            addCriterion("zaoCan is null");
            return (Criteria) this;
        }

        public Criteria andZaocanIsNotNull() {
            addCriterion("zaoCan is not null");
            return (Criteria) this;
        }

        public Criteria andZaocanEqualTo(Integer value) {
            addCriterion("zaoCan =", value, "zaocan");
            return (Criteria) this;
        }

        public Criteria andZaocanNotEqualTo(Integer value) {
            addCriterion("zaoCan <>", value, "zaocan");
            return (Criteria) this;
        }

        public Criteria andZaocanGreaterThan(Integer value) {
            addCriterion("zaoCan >", value, "zaocan");
            return (Criteria) this;
        }

        public Criteria andZaocanGreaterThanOrEqualTo(Integer value) {
            addCriterion("zaoCan >=", value, "zaocan");
            return (Criteria) this;
        }

        public Criteria andZaocanLessThan(Integer value) {
            addCriterion("zaoCan <", value, "zaocan");
            return (Criteria) this;
        }

        public Criteria andZaocanLessThanOrEqualTo(Integer value) {
            addCriterion("zaoCan <=", value, "zaocan");
            return (Criteria) this;
        }

        public Criteria andZaocanIn(List<Integer> values) {
            addCriterion("zaoCan in", values, "zaocan");
            return (Criteria) this;
        }

        public Criteria andZaocanNotIn(List<Integer> values) {
            addCriterion("zaoCan not in", values, "zaocan");
            return (Criteria) this;
        }

        public Criteria andZaocanBetween(Integer value1, Integer value2) {
            addCriterion("zaoCan between", value1, value2, "zaocan");
            return (Criteria) this;
        }

        public Criteria andZaocanNotBetween(Integer value1, Integer value2) {
            addCriterion("zaoCan not between", value1, value2, "zaocan");
            return (Criteria) this;
        }

        public Criteria andMeettingIsNull() {
            addCriterion("meetting is null");
            return (Criteria) this;
        }

        public Criteria andMeettingIsNotNull() {
            addCriterion("meetting is not null");
            return (Criteria) this;
        }

        public Criteria andMeettingEqualTo(Integer value) {
            addCriterion("meetting =", value, "meetting");
            return (Criteria) this;
        }

        public Criteria andMeettingNotEqualTo(Integer value) {
            addCriterion("meetting <>", value, "meetting");
            return (Criteria) this;
        }

        public Criteria andMeettingGreaterThan(Integer value) {
            addCriterion("meetting >", value, "meetting");
            return (Criteria) this;
        }

        public Criteria andMeettingGreaterThanOrEqualTo(Integer value) {
            addCriterion("meetting >=", value, "meetting");
            return (Criteria) this;
        }

        public Criteria andMeettingLessThan(Integer value) {
            addCriterion("meetting <", value, "meetting");
            return (Criteria) this;
        }

        public Criteria andMeettingLessThanOrEqualTo(Integer value) {
            addCriterion("meetting <=", value, "meetting");
            return (Criteria) this;
        }

        public Criteria andMeettingIn(List<Integer> values) {
            addCriterion("meetting in", values, "meetting");
            return (Criteria) this;
        }

        public Criteria andMeettingNotIn(List<Integer> values) {
            addCriterion("meetting not in", values, "meetting");
            return (Criteria) this;
        }

        public Criteria andMeettingBetween(Integer value1, Integer value2) {
            addCriterion("meetting between", value1, value2, "meetting");
            return (Criteria) this;
        }

        public Criteria andMeettingNotBetween(Integer value1, Integer value2) {
            addCriterion("meetting not between", value1, value2, "meetting");
            return (Criteria) this;
        }

        public Criteria andCarstateIsNull() {
            addCriterion("carState is null");
            return (Criteria) this;
        }

        public Criteria andCarstateIsNotNull() {
            addCriterion("carState is not null");
            return (Criteria) this;
        }

        public Criteria andCarstateEqualTo(Integer value) {
            addCriterion("carState =", value, "carstate");
            return (Criteria) this;
        }

        public Criteria andCarstateNotEqualTo(Integer value) {
            addCriterion("carState <>", value, "carstate");
            return (Criteria) this;
        }

        public Criteria andCarstateGreaterThan(Integer value) {
            addCriterion("carState >", value, "carstate");
            return (Criteria) this;
        }

        public Criteria andCarstateGreaterThanOrEqualTo(Integer value) {
            addCriterion("carState >=", value, "carstate");
            return (Criteria) this;
        }

        public Criteria andCarstateLessThan(Integer value) {
            addCriterion("carState <", value, "carstate");
            return (Criteria) this;
        }

        public Criteria andCarstateLessThanOrEqualTo(Integer value) {
            addCriterion("carState <=", value, "carstate");
            return (Criteria) this;
        }

        public Criteria andCarstateIn(List<Integer> values) {
            addCriterion("carState in", values, "carstate");
            return (Criteria) this;
        }

        public Criteria andCarstateNotIn(List<Integer> values) {
            addCriterion("carState not in", values, "carstate");
            return (Criteria) this;
        }

        public Criteria andCarstateBetween(Integer value1, Integer value2) {
            addCriterion("carState between", value1, value2, "carstate");
            return (Criteria) this;
        }

        public Criteria andCarstateNotBetween(Integer value1, Integer value2) {
            addCriterion("carState not between", value1, value2, "carstate");
            return (Criteria) this;
        }

        public Criteria andVisitorIsNull() {
            addCriterion("visitor is null");
            return (Criteria) this;
        }

        public Criteria andVisitorIsNotNull() {
            addCriterion("visitor is not null");
            return (Criteria) this;
        }

        public Criteria andVisitorEqualTo(Integer value) {
            addCriterion("visitor =", value, "visitor");
            return (Criteria) this;
        }

        public Criteria andVisitorNotEqualTo(Integer value) {
            addCriterion("visitor <>", value, "visitor");
            return (Criteria) this;
        }

        public Criteria andVisitorGreaterThan(Integer value) {
            addCriterion("visitor >", value, "visitor");
            return (Criteria) this;
        }

        public Criteria andVisitorGreaterThanOrEqualTo(Integer value) {
            addCriterion("visitor >=", value, "visitor");
            return (Criteria) this;
        }

        public Criteria andVisitorLessThan(Integer value) {
            addCriterion("visitor <", value, "visitor");
            return (Criteria) this;
        }

        public Criteria andVisitorLessThanOrEqualTo(Integer value) {
            addCriterion("visitor <=", value, "visitor");
            return (Criteria) this;
        }

        public Criteria andVisitorIn(List<Integer> values) {
            addCriterion("visitor in", values, "visitor");
            return (Criteria) this;
        }

        public Criteria andVisitorNotIn(List<Integer> values) {
            addCriterion("visitor not in", values, "visitor");
            return (Criteria) this;
        }

        public Criteria andVisitorBetween(Integer value1, Integer value2) {
            addCriterion("visitor between", value1, value2, "visitor");
            return (Criteria) this;
        }

        public Criteria andVisitorNotBetween(Integer value1, Integer value2) {
            addCriterion("visitor not between", value1, value2, "visitor");
            return (Criteria) this;
        }

        public Criteria andWifiIsNull() {
            addCriterion("wifi is null");
            return (Criteria) this;
        }

        public Criteria andWifiIsNotNull() {
            addCriterion("wifi is not null");
            return (Criteria) this;
        }

        public Criteria andWifiEqualTo(Integer value) {
            addCriterion("wifi =", value, "wifi");
            return (Criteria) this;
        }

        public Criteria andWifiNotEqualTo(Integer value) {
            addCriterion("wifi <>", value, "wifi");
            return (Criteria) this;
        }

        public Criteria andWifiGreaterThan(Integer value) {
            addCriterion("wifi >", value, "wifi");
            return (Criteria) this;
        }

        public Criteria andWifiGreaterThanOrEqualTo(Integer value) {
            addCriterion("wifi >=", value, "wifi");
            return (Criteria) this;
        }

        public Criteria andWifiLessThan(Integer value) {
            addCriterion("wifi <", value, "wifi");
            return (Criteria) this;
        }

        public Criteria andWifiLessThanOrEqualTo(Integer value) {
            addCriterion("wifi <=", value, "wifi");
            return (Criteria) this;
        }

        public Criteria andWifiIn(List<Integer> values) {
            addCriterion("wifi in", values, "wifi");
            return (Criteria) this;
        }

        public Criteria andWifiNotIn(List<Integer> values) {
            addCriterion("wifi not in", values, "wifi");
            return (Criteria) this;
        }

        public Criteria andWifiBetween(Integer value1, Integer value2) {
            addCriterion("wifi between", value1, value2, "wifi");
            return (Criteria) this;
        }

        public Criteria andWifiNotBetween(Integer value1, Integer value2) {
            addCriterion("wifi not between", value1, value2, "wifi");
            return (Criteria) this;
        }

        public Criteria andGiftidIsNull() {
            addCriterion("giftID is null");
            return (Criteria) this;
        }

        public Criteria andGiftidIsNotNull() {
            addCriterion("giftID is not null");
            return (Criteria) this;
        }

        public Criteria andGiftidEqualTo(String value) {
            addCriterion("giftID =", value, "giftid");
            return (Criteria) this;
        }

        public Criteria andGiftidNotEqualTo(String value) {
            addCriterion("giftID <>", value, "giftid");
            return (Criteria) this;
        }

        public Criteria andGiftidGreaterThan(String value) {
            addCriterion("giftID >", value, "giftid");
            return (Criteria) this;
        }

        public Criteria andGiftidGreaterThanOrEqualTo(String value) {
            addCriterion("giftID >=", value, "giftid");
            return (Criteria) this;
        }

        public Criteria andGiftidLessThan(String value) {
            addCriterion("giftID <", value, "giftid");
            return (Criteria) this;
        }

        public Criteria andGiftidLessThanOrEqualTo(String value) {
            addCriterion("giftID <=", value, "giftid");
            return (Criteria) this;
        }

        public Criteria andGiftidLike(String value) {
            addCriterion("giftID like", value, "giftid");
            return (Criteria) this;
        }

        public Criteria andGiftidNotLike(String value) {
            addCriterion("giftID not like", value, "giftid");
            return (Criteria) this;
        }

        public Criteria andGiftidIn(List<String> values) {
            addCriterion("giftID in", values, "giftid");
            return (Criteria) this;
        }

        public Criteria andGiftidNotIn(List<String> values) {
            addCriterion("giftID not in", values, "giftid");
            return (Criteria) this;
        }

        public Criteria andGiftidBetween(String value1, String value2) {
            addCriterion("giftID between", value1, value2, "giftid");
            return (Criteria) this;
        }

        public Criteria andGiftidNotBetween(String value1, String value2) {
            addCriterion("giftID not between", value1, value2, "giftid");
            return (Criteria) this;
        }

        public Criteria andAddressIsNull() {
            addCriterion("address is null");
            return (Criteria) this;
        }

        public Criteria andAddressIsNotNull() {
            addCriterion("address is not null");
            return (Criteria) this;
        }

        public Criteria andAddressEqualTo(String value) {
            addCriterion("address =", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressNotEqualTo(String value) {
            addCriterion("address <>", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressGreaterThan(String value) {
            addCriterion("address >", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressGreaterThanOrEqualTo(String value) {
            addCriterion("address >=", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressLessThan(String value) {
            addCriterion("address <", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressLessThanOrEqualTo(String value) {
            addCriterion("address <=", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressLike(String value) {
            addCriterion("address like", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressNotLike(String value) {
            addCriterion("address not like", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressIn(List<String> values) {
            addCriterion("address in", values, "address");
            return (Criteria) this;
        }

        public Criteria andAddressNotIn(List<String> values) {
            addCriterion("address not in", values, "address");
            return (Criteria) this;
        }

        public Criteria andAddressBetween(String value1, String value2) {
            addCriterion("address between", value1, value2, "address");
            return (Criteria) this;
        }

        public Criteria andAddressNotBetween(String value1, String value2) {
            addCriterion("address not between", value1, value2, "address");
            return (Criteria) this;
        }
    }

    /**
     */
    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}